package com.xiaofeng.standalone.cn.job;

import org.quartz.DisallowConcurrentExecution;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

import java.text.SimpleDateFormat;
import java.util.Date;

/**
 * 定时任务如果每2s执行一次，但是这个任务执行的时间是5秒的话，那么是会另起线程来同时执行的，
 * 怎么保证上次任务执行完了之后，才允许下次调度呢？对quartz来说，加一个@DisallowConcurrentExecution注解。
 *
 */
@DisallowConcurrentExecution
public class MyJob4 implements Job {
    public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
        Date date = new Date();
        SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        try {
            System.out.println(" " + sf.format(date) + "   任务4开始执行了，请等待3秒");
//            TimeUnit.SECONDS.sleep(5);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
